{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "from ggplot import *\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### `scale_color_crayon`\n",
    "`scale_color_crayon` let's you use crayon colors for identity color values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "      <th>ze-color</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>madder lake</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>brick red</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>macaroni and cheese</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>english vermilion</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>banana mania</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>outer space</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>razzmatazz</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>pink sherbert</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>burnt sienna</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>beaver</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   x  y             ze-color\n",
       "0  0  0          madder lake\n",
       "1  1  1            brick red\n",
       "2  2  2  macaroni and cheese\n",
       "3  3  3    english vermilion\n",
       "4  4  4         banana mania\n",
       "5  5  5          outer space\n",
       "6  6  6           razzmatazz\n",
       "7  7  7        pink sherbert\n",
       "8  8  8         burnt sienna\n",
       "9  9  9               beaver"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ze_colors = [\n",
    "    \"madder lake\",\n",
    "    \"brick red\",\n",
    "    \"macaroni and cheese\",\n",
    "    \"english vermilion\",\n",
    "    \"banana mania\",\n",
    "    \"outer space\",\n",
    "    \"razzmatazz\",\n",
    "    \"pink sherbert\",\n",
    "    \"burnt sienna\",\n",
    "    \"beaver\"\n",
    "]\n",
    "df = pd.DataFrame({\n",
    "        \"x\": range(10),\n",
    "        \"y\": range(10),\n",
    "        \"ze-color\": ze_colors\n",
    "    })\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxMAAAH/CAYAAAAsQ4CAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlgVOXZ9/HfbGQhCUkg7KBsJVC2CBQwkI1dDTsIInWl\nPKBGLaC+UH2KtaIgaF2K1oINRQW0YbUayxbBBSk7UhBZRZYECGQPk5nz/sGTKZE1QzJL+H7+CnPO\nfeaaKxMyv9znPsdkGIYhAAAAACgns7cLAAAAAOCfCBMAAAAA3EKYAAAAAOAWwgQAAAAAtxAmAAAA\nALiFMAEAAADALVZvF1ARli1bpu+//17Vq1fXhAkTJEmFhYX66KOPdO7cOYWHh2v48OEKDAz0cqUA\nAABA1VElZiY6dOige++9t8xjGzZsUNOmTfXYY4+pSZMmWr9+vZeqAwAAAKqmKhEmbrnlFgUFBZV5\nbM+ePerQoYMkqX379tqzZ483SgMAAACqrCpxmtPl5OfnKyQkRJIUGhqq/Pz8MttzcnKUl5dX5rGQ\nkBCFhYV5rEYAAADAn1XZMPFzJpOpzL83b96sjIyMMo/Fx8crMTHRk2UBAAAAfqvKhomQkBDl5eUp\nJCREubm5ql69epntHTt2VMuWLS8Zk52drZKSEk+WesMCAgJUXFzs7TLKxWq1KiIign57iD/3W6Ln\nnka/Pcsf+y3Rc08r7Tfga6pMmDAMo8y/W7ZsqW3btql79+7avn37JcEhLCzssqc0ZWVlyW63V2qt\nFc1qtfpdzaVKSkr8rnb67Xn03LPot2f5c78leg7c7KpEmPj444916NAhFRYWavbs2UpMTFT37t21\nePFibd26VTVq1NDw4cO9XSYAAABQpVSJMDFs2LDLPn7fffd5uBIAAADg5lElLg0LAAAAwPMIEwAA\nAADcQpgAAAAA4BbCBAAAAAC3ECYAAAAAuIUwAQAAAMAthAkAAAAAbiFMAAAAAHALYQIAAACAWwgT\nAAAAANxCmAAAAADgFsIEAAAAALcQJgAAAAC4hTABAAAAwC2ECQAAAABuIUwAAAAAcAthAgAAAIBb\nCBMAAAAA3EKYAAAAAOAWwgQAAAAAtxAmAAAAALiFMAEAAADALYQJAAAAAG4hTAAAAABwi9XbBQAA\nAHhCcUGeivLzlCNDhkwKrB6igOAQb5cF+DXCBAAAqNJyz2Qp+8RR7fl6tXJPZ7oeD61ZW9Hdeiqi\nbkOFRkZ5sULAfxEmAABAlWQ4ncr6cb++XjJfJeeLL9meezpTm1Z+KGu1AHUb/GtFNWomk5kzwIHy\n4CcGAABUSVk/7teGj+ZeNkhcrOR8sTZ8NFdZP+73UGVA1UGYAAAAVU7umSx9vWS+DKfzuvY3nE59\nvWS+cs9kVXJlQNVCmAAAAFVO9omj15yR+LmS88XKPnG0kioCqibCBAAAqFKKC/K05+vVbo3d8/Vq\nFRfkVXBFQNVFmAAAAFVKUX5emas2lUfu6UzCBFAOXM3pIkVFRbLZbLJa/astZrNZQUFB3i6jXEwm\nkwoKCui3h/hzvyV67mn027P8sd+Sb/c8R8aNHcCQz31PTCaTt0sALsu3fvq9LDAwULm5ubLb7d4u\npVyCgoJUWFjo7TLKxWazKTw8XPn5+fTbA/y53xI99zT67Vn+2G/Jt3tu6AY/eJvkc98Tm83m7RKA\ny+I0JwAAUKUEVg9RaM3abo0NrVmbu2ID5UCYAAAAVUpAcIiiu/V0a2x0t56ECaAcCBMAAKDKiajb\nUNZqAeUaY60WoIi6DSupIqBqIkwAAIAqJzQySt0G/1om8/V91DGZzeo2+NcKjYyq5MqAqoUwAQAA\nqqSoRs3UffhD15yhsFYLUPfhDymqUTMPVQZUHVzNCQAAVEkms1m1b2mhpF+nKPvEUe35enWZ+0+E\n1qyt6G49FVG3ITMSgJsIEwAAoEoLjYxSaGSU6tza4sIN6QxJpgsLtVlsDdwYwgQAALgplIYHf723\nB+CLWDMBAAAAwC2ECQAAAABuIUwAAAAAcAthAgAAAIBbCBMAAAAA3EKYAAAAAOAWwgQAAAAAtxAm\nAAAAALiFMAEAAADALYQJAAAAAG4hTAAAAABwC2ECAAAAgFsIEwAAAADcQpgAAAAA4BbCBAAAAAC3\nECYAAAAAuIUwAQAAAMAthAkAAAAAbiFMAAAAAHALYQIAAACAW6zeLgAAAPiZgjyVFOXpzKmfVOJw\nSoEhUnCIt6sC4AWECQAAcH2yM6WTh2XemC7zmRMqkWSR5IysK2eXvlKdW6SI2t6uEoAHESYAAMDV\nOZ3S0X2yrHhXpvNFl2w2nzkh86epMqoFypE8VmrYQjJzJjVwM+AnHQAAXN3RfbIseeuyQeJipvNF\nsix5Szq6z0OFAfC2Kj8z8fXXX2vLli0ymUyqU6eOBg4cKKu1yr9sAAAqRnbmhRkJp/O6djc5nbKs\neFeOe57ilCfgJlClZyZycnK0ceNGjRs3ThMmTJDT6dSuXbu8XRYAAP7j5OFrzkj8nOl8kXTySCUV\nBMCXVOkwIUmGYchut8vhcMhutys0NNTbJQEA4B8K8mTemO7WUPPGz6SCvAouCICvqdLn+4SFhalb\nt2569dVXZbPZ1KxZMzVr1kzShVmLvLyy/8mFhIT45SlQFotFNpvN22WUS2mf6bdn+HO/JXruafTb\ns3y53yVFeTKfOeHWWPOZEzKK8mStEVHBVd04X+75lfjjexs3hyr9ziwsLNTevXv1xBNPKDAwUIsX\nL9aOHTvUrl07bd68WRkZGWX2j4+PV2JiopeqvTlFRPjeL5mqjH57Hj33LPpdsc6c+kklNzA+wGpR\nZFRUhdUDwPdU6TBx4MABRUREKDg4WJLUqlUr/fjjj2rXrp06duyoli1bltk/JCRE2dnZKim5kf86\nPS8gIEDFxcXeLqNcrFarIiIi6LeH+HO/JXruafTbs3y53yUOpyw3ML64xKGsrKwKq6ei+HLPr6T0\nPQ74miodJmrUqKGjR4/KbrfLarXqwIEDatCggaQLp0CFhYVdMiYrK0t2u93Tpd4Qq9XqdzWXKikp\n8bva6bfn0XPPot+e5dP9DgyRM7KuW6c6OSPryggM8cnX5tM9B/xMlQ4TDRs2VOvWrfXOO+/IbDar\nXr166tixo7fLAgDAPwSHyNmlr8yfppZ7qLNLPyk4pBKKAuBLqnSYkKSEhAQlJCR4uwwAAPxTnVtk\nVAss1+VhjWqBUp3GlVgUAF9R5S8NCwAAbkBEbTmSx8owX99HBsNsliN5LDesA24ShAkAAHB1DVvI\nMfiRCzMOV2FUC5Rj8CNSwxYeKgyAt1X505wAAMANMpulxi3luOcp6eQRmTd+VmZRtjOy7oU1EnUa\nMyMB3GQIEwAA4PpE1JYiasvZOFpGUZ4CrBYVlzhkBIaw2Bq4SREmAABA+QSHyFojQpFRUX55SXUA\nFYc1EwAAAADcQpgAAAAA4BbCBAAAAAC3ECYAAAAAuIUwAQAAAMAthAkAAAAAbiFMAAAAAHALYQIA\nAACAWwgTAAAAANxCmAAAAADgFsIEAAAAALcQJgAAAAC4hTABAAAAwC2ECQAAAABuIUwAAAAAcAth\nAgAAAIBbCBMAAAAA3EKYAAAAAOAWwgQAAAAAt1i9XQAAADcj0/limc4XqST/nMyGZFQLlFEtwNtl\nAUC5ECYAAPAgc0GuLDlnFHRot6wFOa7HS4LDVHhraznCIuUMDvVihQBw/QgTAAB4guGUNTtLoTs3\nyOQouWSztSBHobu/kWGxKrdtd5VEREkmzkYG4Nv4XwoAAA+wZmcpdHvGZYPExUyOEoVuz5A1O8tD\nlQGA+wgTAABUMnNB7oUZCcO4rv1NhqHQnRtkLsit5MoA4MYQJgAAqGSWnDPXnJH4OZOjRJacM5VU\nEQBUDMIEAACVyHS+WEGHdrs1NujQbpnOF1dwRQBQcQgTAABUItP5ojJXbSoPa0GOTOeLKrgiAKg4\nXM3pIkVFRbLZbLJa/astZrNZQUFB3i6jXEwmkwoKCui3h/hzvyV67mn0u2KV5J+7ofEWkxTgg98P\nX+75tfjrexzwRf7101/JAgMDlZubK7vd7u1SyiUoKEiFhYXeLqNcbDabwsPDlZ+fT789wJ/7LdFz\nT6PfFct8fWuur8hhSHYf/H74cs+vxV/f44Av4jQnAAAqkVEtUCXBYW6NLQkOk1EtsIIrAoCKQ5gA\nAKASGdUCVHhra7fGFt7aWka1gAquCAAqDmECAIBK5giLlGEp35nFhsUqR1hkJVUEABWDMAEAQCVz\nBocqt213Gde5iNYwmZTbtrucwaGVXBkA3BjCBAAAHlASEaXc9vHXnKEwLFblto9XSUSUhyoDAPdx\nNScAADzBZFZJZB2d69RbltxsBR3aXeb+EyXBYSq8tbUcYZHMSADwG4QJAAA8yFk9TM7qYSqJrCvT\n+SJZTBcu/2pUC2SxNQC/Q5gAAMALjGoBMqoFKCAoyCfvIwEA14M1EwAAAADcQpgAAAAA4BbCBAAA\nAAC3ECYAAAAAuIUwAQAAAMAthAkAAAAAbiFMAAAAAHALYQIAAACAWwgTAAAAANxCmAAAAADgFsIE\nAAAAALcQJgAAAAC4hTABAAAAwC2ECQAAAABuIUwAAAAAcAthAgAAAIBbCBMAAAAA3EKYAAAAAOAW\nwgQAAAAAt1i9XQAAADfCOJMn+5kCnd5zQnbDISMyWKbIEG+XBQA3BcIEAMAvGYdOSTt+lDFnjYz9\nmSos3dCstjQ+SWrXSKZba3mxQgCo+ggTAAC/Yjic0sb9Mh75u5RffOkO+zNlTFooVQ+Q3hojdWkm\nk4WzegGgMvC/KwDAv2zcL+PheZcPEhfLL76w37cHPFMXANyEqvzMRFFRkZYvX67MzEyZTCYNHDhQ\nDRs29HZZAAA3GIdOXZiRKHFe34ASp4wJ86UlKeKUJwCoeFU+THz66adq0aKFRowYIYfDIbvd7u2S\nAADu2vHjtWckfi6/WNr5o0SYAIAKV6VPcyoqKtKRI0cUExMjSbJYLAoMDPRyVQAAdxhn8mTMWePe\n2D+vkXEmr4IrAgBU6ZmJs2fPKjg4WEuXLtWJEydUv3599e/fXzabTTk5OcrLK/uLJSQkRFar/7XE\nYrHIZrN5u4xyKe0z/fYMf+63RM89zVf7bT9TIGN/pnuD92fKdKZAtjoRFVtUBfDVfl8L73HP8sc+\n4+ZQpd+ZTqdTx48f1x133KEGDRro008/1YYNG5SYmKjNmzcrIyOjzP7x8fFKTEz0UrU3p4gI3/vF\nXpXRb8+j5xXn9J4T/738qxsCTBbVjIqqsHpwAe9x4OZWpcNEWFiYwsLC1KBBA0lS69at9eWXX0qS\nOnbsqJYtW5bZPyQkRNnZ2SopKfF4rTciICBAxcXlPIfYy6xWqyIiIui3h/hzvyV67mm+2m+74bih\n8cWGQ1lZWRVUTcXx1X5fC+9xzyrtNypH586dtWnTJm+X4ZeqdJgICQlRjRo1dOrUKdWqVUsHDx5U\n1P/9Vao0aPxcVlaW3y3StlqtfldzqZKSEr+rnX57Hj33LF/ttxEZfOGGdO6c6tSstozIYJ98Xb7a\n7+vFexxVgclkuq79DMO47n1vFlV6AbYk9e/fX2lpaZozZ45OnDihHj16eLskAIAbTJEhMo1Pcm/s\nhCSZIkMquCIAnjZv3jwlJiYqMTFRwcHBWrFiheLi4tS9e3ctWrTokv3379+vXr16KSkpSZMnT5Yk\nzZ49W7fffrvi4uK0bds2SRdCgiT99NNP6t27txISEpSSkiJJSk1N1ahRozRw4EClp6d76JX6jyo9\nMyFJdevW1W9+8xtvlwEAqAjtGl24s3V5Lg9bPUBq26jyagLgMQ8++KAefPBBvfPOO4qLi9PLL7+s\ndevWyWw2Ky4uTiNGjCgzc/DUU0/plVdeUYcOHSRJJ0+e1PLly/XVV1/p8OHDGjt2rD7//HPXmJde\neklPPfWUevfurbFjx2rDhg2SpGrVqunDDz/0/Av2A1V+ZgIAUHWYbq0l01tjJOt1/vqymmX686/F\nDeuAqmP16tX64osv9Oijj+r7779Xnz591LNnT+Xk5CgrK0t9+/ZVUlKSdu3apaNHj7qChCQdOnRI\n7du3lyTdcsstOnfuXJlj//DDD+rUqZMkqVOnTtq3b5+kC2sqcHmECQCAf+nSTKa/PnhhxuFqqgfI\nNPch6VdNPVMXgEq3b98+vfzyy5o7d65q1qypVq1a6fPPP9fatWu1ZcsW1a5dW+np6VqzZo3atGmj\nRo0aaevWrZIunMp06623atu2bTIMQ4cOHVJ4eLhrmyS1aNFCGzdulCRt2rRJLVq0kCSZzXxkvpIq\nf5oTAKBqMVnM0u0tpLTHpF1HZfx5TdlF2c1qyzQhSWrbSMxIAFXLyy+/rBMnTqh///4ymUyaNGmS\nevXqJbPZrNq1a2vhwoWX7D927FhJF67kOXPmTA0YMEC33367LBaL3nzzTUn/XYD91FNP6b777tP0\n6dPVpk0bde/eXfv37/fsi/QzJqM0ikGSf17NKSgoSIWFN3L1dc+z2WyKioqi3x7iz/2W6Lmn+Vu/\njTN5Mp0pUIDJomLDISMy2K8WW/tbv0vxHves0n4DvoaZCQCAXzNFhshWJ0I1/fSDLQD4M04AAwAA\nAOAWwgQAAAAAtxAmAAAAALiFMAEAAADALYQJAAAAAG7hak4AAABwW8mJFRV2LGvd5Ktuz8jI0MqV\nKzVz5swKe05vS01NVXR0tLp06eLtUtxCmAAAAIDfKL3BXFVx3333ebuEG8JpTgAAAPAb27dv14AB\nA9SlSxd99913kqSJEycqMTFRXbt21Y4dOyRJiYmJmjhxouLj45WSkiJJ2rVrlxISEhQbG+t6LCMj\nQ/3799eQIUMUExOj3bt3X/GYpQ4fPqzY2FiNHDlSbdu21eLFi5WcnKyYmBjXHbNHjx6txMRExcXF\n6ejRo5Iu3IX7scceU9euXV2zK9OmTdM///lPGYah3r17KzExUX379lVeXl4ld7JiECYAAADgNwoL\nC7V8+XKlpqZqypQpkqQ//vGPWrt2rd5++23NmDHDte+QIUOUkZGhf//738rNzVWLFi20bt06ffnl\nlzpy5Ijrg39JSYnS0tI0ffp0zZ0796rHLHX27FktXLhQs2fP1syZM7VixQpNmzZNf//73yVJc+fO\n1dq1a/Xb3/5W77zzjmvM008/ra+++krz588vczyTyaQVK1Zo7dq16t+/vxYtWlTxzasEnOYEAAAA\nvxETEyNJio6O1okTJyRJL7/8stasWSPDMGSz2Vz7dujQQZLUsGFDnT17Vnl5eZo4caIKCgp08OBB\nHTt2rMx+jRo10tmzZ696zFKtW7eWJNWvX19t2rSRJDVo0ECrV6+W0+nU5MmTtXPnThUUFKht27aS\npIiICDVs2FCSFBQUVOZ4+fn5GjdunI4ePars7GwNGzasArpV+QgTAAAAcNu1Fk1XtK1bt0qS9u7d\nq3r16unMmTNatWqV1q9fry1btmjSpEmufUvXVxiGIcMwNGfOHE2aNElJSUkaOHCgDMMos1/pvlc7\n5uX8fPy2bdt09uxZrVu3TmlpaVq5cuVl97tYenq6mjZtqgULFmj27Nl+c5oTYQIAAAB+Izw8XMnJ\nycrMzNS8efMUERGhmjVrKikpqcwVkS7+4F76dXJyslJSUhQdHX3Jh/mLRUZGKjIy8pJjXuxqC8Fb\ntWqlw4cPq2/fvoqOjr5qTaW6du2qF198UVu3blWdOnXUuHHjKx7fl5iMq3XyJpSVlSW73e7tMsol\nKChIhYWF3i6jXGw2m6Kioui3h/hzvyV67mn027P8sd8SPfe00n4DvoYF2AAAAADcQpgAAAAA4BbC\nBAAAAAC3ECYAAAAAuIUwAQAAAMAthAkAAAAAbuE+EwAASdK5nBxlnz0rp9OQ2WxSRHi4aoSFebss\nAD7ujSfurbBjPfbagqtuz8jI0MqVKzVz5swKe07cGMIEANzkfjp2XHt/+EEL//EPHTn6k+vxxg0b\naOTQoWrZvLka1K/nxQoB4L+udrO4imYYhkefzx9xmhMA3KQcDoe27tipx556WjP+9HqZICFJR47+\npBl/el2PPfW0tu7YKYfD4aVKAeC/tm/frgEDBqhLly7atWuX0tPTFRcXp+7du2vRokWSpAULFigx\nMVGdOnXS+++/L0nq0aOHSkpKJEnPPfecPv/8c50+fVqDBw9Wr169NGbMGBmGoYyMDA0YMEBDhw5V\namqq116nvyBMAMBNasd3u/W7F/6ogmvcCbigsFC/e+GP2vndbg9VBgBXVlhYqOXLl2v+/PmaMmWK\nXnjhBa1Zs0ZffPGF3njjDRmGoWHDhmnt2rXasGGDZs+eLUnq37+/Pv30U0nS2rVr1atXL7300kt6\n/PHHtWrVKrVt21ZpaWmSpJycHP3jH//Q/fff762X6Tc4zQkAbkI/HTuuP8yYed2zDQ6HQ8/PmKk3\nZrzMKU8AvComJkaS1LJlS+3atUv5+fnq06ePDMNQTk6OsrKy9OWXX+r111+XYRjav3+/JOnuu+/W\nc889p0aNGqlt27Yym83avXu3vv32W1ksFhUWFmrMmDGqVauWOnXq5M2X6FcIEwBwE9r7ww/XnJH4\nuYLCQn2/fz9hAkAZ11o0XdG2bt0qSdq7d6/atm2rs2fP6vPPP5fVapXD4ZDFYtEf//hHrV+/XpLU\ntGlTSVKzZs10/Phx/e1vf9PIkSMlSa1atdLgwYMVGxsr6cIfTjZs2CCzmZN3rhdhAgBuMudycrTw\nH/9wa+yHH3+s29q34ypPALwmPDxcycnJyszM1Ny5c3X8+HH16tVLZrNZtWvX1sKFCzVkyBD16NFD\nMTExioyMdI2988479cYbb+i1116TJE2ZMkVjx47Vc889J5PJpBkzZnjrZfktk2EYhreL8CVZWVmy\n2+3eLqNcgoKCVFjOvzB6m81mU1RUFP32EH/ut0TPK9qhI0f0P09OdHv8O6/O1i2NG1VgRTfOl/t9\nLf74/pbouaeV9hvwNcxMXKSoqEg2m01Wq3+1xWw2KygoyNtllIvJZFJBQQH99hB/7rdEzyua03lj\nf0NyGk6f+374cr+vxR/f3xI99zQuTwpf5V8//ZUsMDBQubm5/IXFA2w2m8LDw5Wfn0+/PcCf+y3R\n84pmNt/YhxKzyexz3w9f7ve1+OP7W6Lnnmaz2bxdAnBZrC4BgJtMRHi4Gjds4NbYxg0bKDy8RgVX\nBADwV4QJALjJ1AgL08ihQ90aO2rYMBZfAwBcCBMAcBNq2by5gst5znhwUJB+0axZJVUEAPBHhAkA\nuAk1qF9Pzz41WRaL5br2t1gseu6pydxjAgBQBguwAeAm1e6XrfXC76bqDzNmXvUGdsFBQXruqclq\n+8vWHqwOgL/4ul3PCjtWtx2rr7o9IyNDK1eu1MyZM6+4T3p6uoqKijRw4MBLtqWmpio/P18TJky4\n4Vrz8/N11113ae3atTd8LH9GmACAm5TFYlFMu7Z6fcZL2rf/gD78+GMdOfqTa3vjhg00atgw/aJZ\nM2YkAPiMq10m1zAM9e3b94afwzCM67ocL5fsJUwAwE2vYf36ali/vm5r305nz56T03DKbDIrPLwG\ni60B+Jzt27drwIABOnnypObNm6df/vKX6tixo+Li4nTq1Cn16tVLeXl5euSRR/Tee+/pL3/5i4KC\ngjR16lTXMc6ePavRo0dr+vTpateunevxjh07qkePHjp9+rT++te/6uGHH9bx48cVEhKiBQsWKCQk\nRCkpKdq5c6fatm3rjZfvcwgTAABJF67yVCMszC+vwQ/g5lFYWKj09HTt2bNHTz/9tJYtW6bs7Gyl\npKSoSZMmSk1Nlclk0qlTp/Tuu+9qw4YNslgsMgxD8+fPV2Zmpu655x7Nnj1b0dHRZY599uxZPf74\n42rSpIneeust9ezZU/fff78WL16sd955RwkJCTpz5ozWrl2r9PR07dq1y0td8B2ECQAAAPiNmJgY\nSVJ0dLROnDghSYqIiFCTJk3K7HfgwAF16tTJdaGJ0lOS5s6dq5SUlEuCxM+Ps3v3bv373//W/Pnz\nZbfb1aNHD/3www/q2LGjJKlz586V8wL9DGECAAAAbrvWoumKtnXrVknS3r17Va/ehfVcZvOlFyht\n1qyZtmzZopKSElmtVhmGIUl66qmn9M0332jp0qUaNGhQmTEXr4Fo1aqVbr/9do0ePVqS5HA4tG3b\nNq1cuVKStGnTpop/cX6IMAEAAAC/ER4eruTkZGVmZmrevHmSLr8QumbNmnrooYcUGxurkJAQTZky\nRdKFi0/Mnz9fd999t4KDg9WnTx/XmIuPM3bsWP3mN7/RvHnzZDKZNHHiRPXv319hYWFKSEhgZuL/\nmIzSmAZJUlZWlux2u7fLKBd/PL/ZZrMpKiqKfnuIP/dboueeRr89yx/7LdFzTyvtN+BruGkdAAAA\nALcQJgAAAAC4hTABAAAAwC2ECQAAAABuIUwAAAAAcAthAgAAAIBbuM8EAAAA3JY5eUiFHav2zLSr\nbs/IyNDKlSs1c+bMCnm+ZcuWKTY2VrVq1brqfunp6SoqKtLAgQMr5HmrEsIEAAAA/MblblB3LYZh\nXHbc0qVL1bx582uGib59+5b7OW8WnOYEAAAAv7F9+3YNGDBAXbp00XfffSdJZe5GXfr1tGnT9MAD\nD+iuu+7Sjh071Lp1a91///267bbb9OGHH+rQoUP67LPP9OCDD+qZZ54p8xwPPvig4uPjlZSUpCNH\njig1NVV//vOfJUmpqamKi4tT9+7dtW7dOklSYmKiJk6cqPj4eKWkpLj2GzZsmKvWkydPSpJGjx6t\nxMRExcXF6ejRo5XaK09gZgIAAAB+o7CwUOnp6dqzZ4+efvppLVu2rMysw8VfN27cWO+9954k6eTJ\nk3rrrbfkdDrVu3dvjRo1Sv369dPkyZPVunVr15iSkhJ9//332rBhg6QLsxqlzpw5o4ULF+qLL75Q\nQUGB7rzzTiUkJEiShgwZolmzZik2Nla5ubmSpPDwcP31r3/V22+/rY8++kiPPvqo5s6dq8DAQC1d\nulRvv/1dZCXIAAAgAElEQVS2XnjhhUrrlScQJgAAAOA3YmJiJEnR0dE6ceKEpLIf+C/++uIZi6ZN\nm6p69eqSJKfTecXjW61WPfLIIxozZoxq1apV5sP+/v379d133ykpKUmGYej06dOubR06dJAkNWjQ\nQGfPni1Ta6NGjbRlyxY5nU5NnjxZO3fuVGFhodq0aeNeE3wIYQIAAABuu9ai6Yq2detWSdLevXtV\nr149SRcCQH5+vpxOp/bv3+/a12y++hn9NptNJSUlZR5zOp0aPny4Ro0apenTp2vJkiWubU2bNlX7\n9u21YsUKSZLD4XBtK50RMQzDFWguniUxDEPbtm3T2bNntW7dOqWlpWnlypXlfv2+hjABAAAAvxEe\nHq7k5GRlZmZq7ty5kqQJEyaoR48euu2229SwYcPLjrvcAuz+/fvrySefVK9evfT//t//kyTl5uZq\n4MCBMplMMpvNev/995Weni5Jqlmzpu6++27Fx8fLYrGoXbt2eu211654mtXPRUdH6/Dhw+rbt6+i\no6Pd7oEvMRkXzwVBWVlZstvt3i6jXIKCglRYWOjtMsrFZrMpKiqKfnuIP/dboueeRr89yx/7LdFz\nTyvtN+BruJoTAAAAALdwmhMAVDCT7DJKinTudJGMErtMssiQzdtlAQBQ4QgTAFBBzCqSTfkK1nHZ\nTMWSXapukuxGgApUT3ZVl1OB3i4TAIAKQ5gAgBtmyKZc1TDtl9l06eUGbeZi1dAhOQ2zzhnNZFeo\npPLfwRUAAF/DmgkAuEE25SrctO+yQeJiZpNT4aZ9sinXQ5UBAFC5boow4XQ69fbbb+uDDz7wdikA\nqhizilTDtF9XuRJgGSaTLsxgqKhyCwMAwANuitOcNm7cqKioKBUXF3u7FABVjE3515yR+DmzySmb\nUaBi1k8AqAI297urwo7V8bPKvYlbRkaGVq5cqZkzZ2r8+PGaM2fOJfscPnxYkyZN0kcffVSptfzc\n9u3b9c0332jcuHHq3LmzNm3apNTUVEVHR6tLly4eraU8qnyYOHfunPbt26cePXro66+/9nY5AKoQ\nk+wK1nG3xgbrmM4rlKs8AYCHld5U7nJB4uf7VBTDMK55zPbt26t9+/Zlnv++++6r0DoqQ5UPE+np\n6erdu/clsxI5OTnKy8sr81hISIisVv9ricVikc3mXx9ISvtMvz3Dn/st+W7PjZKiC1dtcoPNXCyL\n4ZTJ6nuvy1f7fTX+/B73x35L9NzT/LHPlSUlJUXfffedLBaL/va3v6l+/fpq3bq1unTpou3bt2vy\n5MkaNWqUtm3bprFjx6pBgwZyOp2aNGlSmeOU/vX/7bff1nvvvafQ0FA99thj6tChg44dO6aRI0fq\nP//5j/70pz8pISHBNW7WrFlq1KiRRowYoQMHDuh3v/udPvjgA02fPt11p+y33npLv/zlL9WxY0fF\nxcXp1KlT6tWrl5YvXy673a5Tp05p/Pjxmj9/vgzDUHp6ujZs2OCaNSk1bdo0de7cWXfccYcmTZqk\njRs3KiAgQPPmzVPjxo0v+7o97brfmU8++aTuu+8+dejQoTLrqVDff/+9qlevrnr16ungwYNltm3e\nvFkZGRllHouPj1diYqInS7zpRUREeLuEmwr9rljnThdJN3Dj34BqNtWoyR1tKxLvcc+j5/CkTz75\nRJGRkVq9erW+/fZbTZ8+XW+88YZOnjypN998U06nU71799aoUaP07LPPauHChWrWrJni4uIuOVbp\nX/8//vhjrV69WiEhIZIunOZ0+vRprV+/Xnv37tXUqVPLhIm7775bTzzxhEaMGKFFixZp5MiR+u67\n77R3716tW7dOx48f1/jx47V06VJlZ2crJSVFTZo0UWpqqmrVqqV33nlHU6dO1bZt2/Svf/1LEydO\n1Pr162Uyma44e7F582YdO3ZM69ev14YNGzRt2jTNnTv3sq/b0647TDgcDvXt21dRUVEaM2aMRo8e\nrYYNG1ZmbTfsyJEj2rt3r/bt26eSkhIVFxcrLS1NQ4YMUceOHdWyZcsy+4eEhCg7O1slJSVeqtg9\nAQEBfrcexGq1KiIign57iD/3W/LdnhsldlW/gZnw4vN2ZWVlVVxBFcRX+301/vwe98d+S/Tc00r7\nfbPbvXu30tLS9MUXX8gwDDVu3FiS1LRpU1WvXl3ShQvvSNLJkyfVrFkzSbrqH8NfeuklpaSkSJKe\neeYZBQQEqE2bNjKZTGrUqJHOnj1bZv+GDRsqJydHubm5Sk9P16RJk7R06VJ99dVXSkpKkmEYrpmv\niIgINWnSxDW2Xbt2kqT69eu7wkv9+vWVnZ2tyMjIK9b4ww8/qHPnzpIuzKhMnTr1iq/b0647TLz+\n+ut69dVX9emnn+r999/XCy+8oC5duujXv/61hgwZ4mqIL+nVq5d69eolSTp06JC++uorDRkyRJIU\nFhamsLCwS8ZkZWXJbr+BPzV6gdVq9buaS5WUlPhd7fTb83y15yZZZDcCZDOX/0OJ3Rkgh8wyfPB1\n+Wq/r4c/vsf9ud8SPUflL5q+WHR0tO6++27Xh2mHw3HFfevWrasffvhBzZo107Zt2zRs2LAy2w3D\nkCS1adNG8+bN09dff60ZM2bo2WefLbPf5T6kDxo0SC+//LKaNWsmm82m6OhoJSQk6C9/+UuZuszm\nshdOvXjm4eKvS2u50r+bN2+upUuXSpK+/fZbtWjR4pKafj7GU8p1Ap7FYtFdd92lu+66S999953u\nuece3X///ZowYYJGjhypadOmqUGDBpVVKwD4FEM2FaieauhQuccWqD6LrwGgnJKTk7VmzRolJSXJ\nbDZr9OjReuCBBy57etDzzz+ve+65R3Xr1lVISIhsNpvOnz/v2l46Zvz48Tp06JDOnz+vP/7xj2W2\n/fzrUsOGDdMtt9yi5cuXS5Latm2r5s2bKyEhQRaLRb1799YzzzxzXQu5L7fPzx/r2LGj6tWrpx49\neshms+m99967rjo9wWSUI8bk5OToo48+0oIFC7Rjxw4NHTpU9913nxo3bqxZs2ZpzZo12rFjR2XW\nW+n8cWYiKChIhYWF3i6jXGw2m6Kioui3h/hzvyXf7rlZRYo0/adcl4d1GmadMVrJ6aOXhvXlfl+J\nP7/H/bHfEj33tNJ+4/qVlJTIarXKMAwlJSVp4cKFqlOnjrfLqnKue2Zi2LBhSk9PV1xcnP7nf/5H\ngwYNUkBAgGv77NmzVaNGjUopEgB8lVOBOmc0U7j2XdeN6wxDOmc089kgAQBVxcaNGzVlyhQVFRVp\n4MCBBIlKct1homvXrnrzzTdVt27dy243m806efJkhRUGAP7CrlCdNVqohvZfdYbCaZh1zmgmu0I9\nWB0A3JxiY2MvuXInKt51h4mfX5v3coKDg2+oGADwTybZFaZso5WsRoGCdazMomy7M0AFqi+7gpmR\nAABUKdwBBQAqiEOBcihQ5xUqi+FUQDWbis/bL1y1icXWAIAqyHztXQAA5WHIJpM1RDVqNpTJGkKQ\nAABUWYQJAAAAAG7hNCcAAAC47/PfVdyx+rxQccfykO3bt+ubb77RuHHjbvhYw4cP16xZs1x39r6c\nw4cPa9KkSfroo49u+PkqAmECAAAAuIhhGNd9E7j27durffv2lVxRWd66Qd3lcJoTAAAA/EJGRob6\n9eunIUOGKCYmRosXL1a/fv3UtWtXZWdnyzAM9e7dW4mJierbt6/y8vIkSe+99566deumpKQkrV69\nWrt27VJCQoJiY2OVkpLiOvaAAQM0dOhQpaamat26derWrZtuv/12LViwQJL0wAMPaPz48erTp4+G\nDBniGjd58uQydWZmZiopKUnx8fEaMWKEDMPQ4cOH1b17d40cOVLt27fXunXrJEmrVq1Sx44dNXTo\nUB07duyS17xp0yb16NFDSUlJmjVrliTp2LFjlxxn8+bNruecPXu2JOn06dMaPHiwevXqpTFjxsgw\nDG3cuFFdu3ZVz5499fzzz0uS615y3bt316JFi8r1PWFmAgAAAH7DMAylpaXp3Xff1aJFi/TZZ5/p\n9ddf17Jly3T//fdrxYoVCgwM1GuvvaZFixZp4MCBevfdd7VhwwZZLBZJUnFxsetD+KBBg7R//35J\nUk5Ojuvxbt266Z///KdCQ0N1++23a/jw4ZIu3L9izpw5GjVqlHbt2iXp0pmCyMhIrVq1SmazWU88\n8YTWrFmj5s2b6/Tp01q/fr327t2r3/3ud0pISNCzzz6rNWvWKCgoSC1btrzk9T755JNavHix6tev\nL+nCaU6XO84zzzyjJUuWqEaNGhowYIDuvfdezZw5U48//rgSEhI0Y8YMpaWlaceOHfr973+vfv36\nuZ7jD3/4g9atWyez2ay4uDiNGDHiumc/CBMAAADwG+3atZMk1a9f3/V1gwYNdOTIEeXn52vcuHE6\nevSosrOzNWzYMB04cECdOnVyBQlJOnDggCZOnKiCggIdPHjQNSPQqVMn1z4Oh0MRERGSpObNm7v2\niYmJkSQ1bNhQ2dnZl63x1KlTGj9+vLKzs3X8+HF17NhRzZs3V5s2bWQymdSoUSPXWIfDoRo1akiS\n2rZte8mx7Ha7K0iUutxxduzYocGDB8swDJ07d05Hjx7V7t279e2338pisaiwsFBjxozRI488oj/8\n4Q96//33dc8996hTp076/vvv1adPHxmGoZycHGVlZal27drX9f0gTAAAAMB9Hl40ffFfzC/+2jAM\npaenq2nTplqwYIFmz56tvLw8NWvWTFu2bFFJSYmsVqsMw9CcOXM0adIkJSUlaeDAgTIMQ5JkNv93\nBYDFYtGZM2cUGhqqffv2uT7Q//w5L+eDDz5QcnKyHnzwQaWkpFx2v9LHrFarzp07p8DAQO3cufOS\n/QICAnTs2DHVr1//qsfp0KGDPv74Y4WGhrrWfLRq1UqDBw9WbGyspAvBxW6364033pDdblenTp20\nfft2tWrVSp9//rmsVqurT9eLMAEAAIAqoVu3bnrxxRe1detW1alTR40bN1bNmjX10EMPKTY2ViEh\nIZoyZYqSk5OVkpKi6OjoKwaCF198UXfccYfMZrMee+wxBQQEXDHI/FzPnj01ZswYrVixQkFBQVcd\nM23aNCUlJalJkya65ZZbLtk+a9YsjRgxQtWqVdOdd96pYcOGXfY406dP1+DBg+V0OhUYGKglS5Zo\nypQpGjt2rJ577jmZTCbNmDFD69evV1pamhwOhx544AFJ0tSpU9WrVy+ZzWbVrl1bCxcuvHKTf8Zk\nXKmDN6msrCzZ7XZvl1EuQUFBKiws9HYZ5WKz2RQVFUW/PcSf+y3Rc0+j357lj/2W6LmnlfYb8DVc\nzQkAAACAWwgTAAAAANxCmAAAAADgFsIEAAAAALcQJgAAAAC4hTABAAAAwC3cZwIAAABu29ypS4Ud\nq+O/N1bYsa6kc+fO2rRpU5nHJk+erOTkZMXFxd3wsUqlpqYqPz9fEyZMcLtWf8DMBAAAAG4aV7vZ\n3LX8/PZsN3KsqoIwAQAAAL+QkZGhfv36aciQIYqJidHixYvVr18/de3aVdnZ2TIMQ71791ZiYqL6\n9u2rvLw8SdJLL72k2NhYjRs3Tk6nU5K0fft2/epXv9KAAQO0c+dO13OkpKSoZ8+e6tOnj44dOyZJ\n+uUvf6mHHnpIEydOvGxdq1atUkJCgrp06aIZM2aU2Xb27Fndeeed2rFjh06fPq3BgwerV69eGjNm\nzBXvvu1PCBMAAADwG4ZhKC0tTRMmTNCiRYv02Wef6Z577tGyZctkMpm0YsUKrV27Vv3799eiRYuU\nmZmp9PR0ffnll3ryySeVnZ0tSXr22Wf1wQcfaNmyZa7Q8cknnygyMlKrV6/WCy+8oOnTp0uSfvrp\nJ7366quaPXv2ZWvq3r271q1bp2+++UYff/yxiouLJUmZmZm65557NGvWLLVr104vvfSSHn/8ca1a\ntUpt27bVkiVLPNCxysWaCQAAAPiNdu3aSZLq16/v+rpBgwY6cuSI8vPzNW7cOB09elTZ2dkaNmyY\nDh486NovOjpaISEhkqQTJ06oefPmkqTbbrtNkrR7926lpaXpiy++kGEYaty4sSSpefPmCgsLu2JN\nmzZt0vPPPy+73a7Dhw8rMzNTkvTXv/5Vjz/+uKKjo13H//bbb2WxWFRYWKgxY8ZUdHs8jjABwGc5\ncnPlzMmRw2nIaTbJHBYmS2iot8sCAFzEE4umL3bxOoWLvzYMQ+np6WratKkWLFig2bNnKy8vT7fe\neqt27NghSdq7d69rFqJu3brav3+/mjZtqi1btmjYsGFq1aqV7r77bk2dOlWS5HA4Lnmey5k5c6be\neecdNWnSRLfddpvr9KWnn35a33zzjZYuXapBgwapVatWGjx4sGJjY8sc358RJgD4nJKTJ2U/eEi5\nKz6R4/gJ1+OWenUVmnynbE1ulbVOHe8VCADwSd26ddOLL76orVu3qk6dOmrcuLHq1KmjPn366Pbb\nb1fHjh0VEREhSXr++ec1atQo1alTR5GRkZKku+66S6tXr1ZSUpLMZrNGjx6tBx544JphYujQoRo0\naJDatm1bZgbDYrFo/vz5uvvuuxUcHKypU6fq4Ycf1nPPPSeTyaQZM2a4ZkX8lcmoCis/KlBWVpbs\ndru3yyiXoKAgFRYWeruMcrHZbIqKiqLfHuIv/TacTp3fs1fZb86RUVR0xf1MgYGKeHS8qkW3lMns\nm0u//KXnl8N73LP8sd8SPfe00n4DvsY3fwsDuCmd37NXZ159/apBQpKMoiKdefV1nd/zvYcqAwAA\nl0OYAOATSk6eVPabc6TrPX/U4VD2m39WycmTlVsYAAC4IsIEAJ9gP3jomjMSP2cUFcl+8HAlVQQA\nAK6FMAHA6xy5ucpd8YlbY3NXrJQjN7eCKwIAANeDMAHA65w5OWWu2lQejuMn5MwhTAAA4A1cGvYi\nRUVFstlsslr9qy1ms1lBQUHeLqNcTCaTCgoK6LeH+Hq/Hc4bu6ic2XD63PfE13t+NbzHPcsf+y3R\nc0+71qVJAW/xr5/+ShYYGKjc3FwucecBNptN4eHhys/Pp98e4Ov9dppv7Jek02T2ue+Jr/f8aniP\ne5Y/9lui555ms9m8XcIVtesWW2HH2vH1lxV2rNTUVI0ePdrvwq6/4TQnAF5nDguTpV5dt8Za6tWV\nOYy7YgMAyvrb3/6m4uLi69qX2665jzABwOssoaEKTb7TrbGhyXfJEkqYAICbgdPp1JgxY5SQkKDk\n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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10fe6b510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<ggplot: (284430049)>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ggplot(df, aes(x='x', y='y', color='ze-color')) + \\\n",
    "    geom_point(size=250) + \\\n",
    "    scale_color_crayon()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
